Circuit for monitoring a microprocessor and analysis tool and inputs/outputs thereof

ABSTRACT

A method for the transmission of digital messages by the output terminals of a monitoring circuit which is integrated into a microprocessor, the digital messages being representative of first specific events which are dependent on the execution of a series of instructions by the microprocessor. The method includes transmitting the following signals to the monitoring circuit by dedicated access points, namely (i) a request signal for the sending of a message that is associated with a specific event from second specific events which are independent of the execution of the series of instructions by the microprocessor and (ii) a signal comprising characteristic data which are associated with the aforementioned specific event; forcing the monitoring circuit to read the request message and, if the resource management conditions are fulfilled, sending an acknowledgement message and storing said characteristic data signal and transmitting a digital message which is representative of the stored characteristic data signal.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the testing of microprocessors. It morespecifically relates to a method and device for digital datatransmission between a monitoring circuit integrated in a microprocessorchip and an analysis tool.

2. Discussion of the Related Art

FIG. 1 schematically shows an integrated circuit 10 comprising amicroprocessor (μP) 12, an internal memory (MEM) 14, and input/outputterminals (I/O) 16. Microprocessor 12 is intended to execute a programor software stored in memory 14. Under control of the program,microprocessor 12 may process data provided by input/output terminals 16or stored in memory 14 and read or write data through input/outputterminals 16.

To check the proper operation of the microprocessor, a monitoringcircuit 18 (TEST) is generally integrated on integrated circuit 10.Monitoring circuit 18 is capable of reading specific data provided bymicroprocessor 12 on execution of a program, and of possibly processingthe read data. Test terminals 22 connect monitoring circuit 18 to ananalysis tool 24. Analysis tool 24 may perform a processing of thereceived signals, for example, according to commands provided by a user,and ensure a detailed analysis of the operation of microprocessor 12. Inparticular, analysis tool 24 may determine the program instructionsequence really executed by microprocessor 12.

The number of test terminals 22 may be on the same order of magnitude asthe number of input/output terminals 16, for example, from 200 to 400terminals. Test terminals 22 as well as the connections of monitoringcircuit 18 take up a significant silicon surface area, which causes anunwanted increase in the circuit cost. For this purpose, a first versionof integrated circuit 10 comprising monitoring circuit 18 and testterminals 22 is produced in small quantities to adjust debug the programof microprocessor 12 or “user program”. After this debugging, a versionof integrated circuit 10 without monitoring circuit 18 and without testterminals 22 is sold. This requires forming of two versions of theintegrated circuit, which requires a significant amount of work and isrelatively expensive. Further, the final chip is not necessarilyidentical to the tested chip.

To overcome the above-mentioned disadvantages, it is desired to form amonitoring circuit 18 which takes up a reduced surface area and onlyrequires a reduced number of test terminals 22, which decreases theselfcost of the monitoring circuit. Monitoring circuit 18 can then beleft on the finally sold integrated circuit 10.

It is thus desired to decrease the number of signals provided bymonitoring circuit 18. For this purpose, certain logic operations aredirectly performed at the level of monitoring circuit 18 on the datameasured at the level of microprocessor 12 to only transmit messageshaving an important information content.

Thus, standard IEEE-ISTO-5001 in preparation provides in its 1999version, accessible, for example, on websitewww.ieee-isto.org/Nexus5001, a specific message exchange protocolbetween a monitoring circuit and an analysis tool for a monitoringcircuit 18 requiring but a reduced number of test terminals 22.

Among the messages provided by monitoring circuit 18 according tostandard IEEE-ISTO-5001, a message for example indicates that a jump hasoccurred in the program executed by microprocessor 12. Another messagemay indicate the fact that microprocessor 12 executes a read or writeoperation, for example, an operation of reading or writing of data fromor into an area of memory 14. Based on the messages transmitted bymonitoring circuit 18, analysis tool 24 reconstitutes the instructionsequence executed by microprocessor 12. The reconstituted instructionsequence can then be compared with an instruction sequence theoreticallyexecuted by microprocessor 12 to determine malfunctions ofmicroprocessor 12.

Certain events, however, do not correspond to specific instructions ofthe program executed by microprocessor 12 or do not cause modificationsin the execution of the program by microprocessor 12. Thus applies, forexample, in the case of a mobile telephony application, to the automaticblanking of the screen of a portable phone controlled by a specificcontrol signal which is not provided by microprocessor 12 of theportable phone. Such events are generally not detected by monitoringcircuit 18 and thus do not cause the transmission of messages bymonitoring circuit 18 to analysis tool 24. It may also be, for example,specific signals generated by the internal circuits of microprocessor12.

It would be desirable for analysis tool 24 to be able to indicate to theuser that such events have occurred. Indeed, such events may be helpfulin the diagnosis of malfunctions of microprocessor 12.

SUMMARY OF THE INVENTION

The present invention aims at obtaining a device and a method fortransmitting messages between a test circuit and an analysis toolenabling transmission of messages representative of events which are notlinked to the execution of the program by the microprocessor.

The present invention further aims at obtaining a message transmissiondevice and method which cause as little modifications as possible of themonitoring circuit provided by standard IEEE-ISTO-5001.

The present invention provides a method for transmitting digitalmessages through output terminals of a monitoring circuit integratedwith a microprocessor, the digital messages being representative offirst specific events depending on the execution of an instructionsequence by the microprocessor, comprising the steps of transmitting, tothe monitoring circuit through dedicated accesses, a request signal forthe sending of a message associated with a specific event from amongsecond specific events independent from the execution of the instructionsequence by the microprocessor and a signal of characteristic dataassociated with said specific event; having the monitoring circuit readsaid request message and, if resource management conditions arefulfilled, transmitting, through a dedicated access, an acknowledgementmessage and storing said characteristic data signal; and transmitting adigital message representative of the stored characteristic data signal.

According to an embodiment of the present invention, the resourcemanagement conditions are fulfilled when the monitoring circuit is nottransmitting messages representative of the first specific events.

According to an embodiment of the present invention, the digital messagerepresentative of the stored data signal comprises an identifier and thecharacteristic data signal.

According to an embodiment of the present invention, the characteristicdata signal corresponds to the values on input terminals of themicroprocessor.

The present invention also provides a device for transmitting digitalmessages between a monitoring circuit integrated with a microprocessorand an analysis tool, first digital messages being representative offirst specific events depending on the execution of an instructionsequence by the microprocessor. The device comprises means for detectinga specific event from among second specific events independent from theexecution of the instruction sequence by the microprocessor; means fortransmitting a request for transmitting to the monitoring circuit, whena specific event is detected, a request signal and a characteristic datasignal associated with said specific event. Further, the monitoringcircuit comprises means for storing the characteristic data signalprovided by the request transmission means, means for transmitting tothe request transmission means, an acknowledgement signal when thecharacteristic data signal is stored, and means for transmitting adigital message from said stored characteristic data signal.

According to an embodiment of the present invention, the detectionmeans, the request transmission means, the monitoring circuit, and themicroprocessor are integrated on the same chip.

According to an embodiment of the present invention, the detection meansis connected to input terminals of the microprocessor.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, features, and advantages of the presentinvention will be discussed in detail in the following non-limitingdescription of specific embodiments in connection with the accompanyingdrawings, among which:

FIG. 1, previously described, very schematically shows the architectureof a conventional chip integrating a microprocessor and a monitoringcircuit;

FIG. 2, very schematically shows an example of the forming of thearchitecture of a chip according to the present invention;

FIG. 3 shows a detail of FIG. 2;

FIG. 4 shows a timing diagram of signals characteristic of the messagetransmission method according to the present invention; and

FIG. 5 shows a specific embodiment of the system of FIG. 3.

DETAILED DESCRIPTION

FIG. 2 shows an example of the forming of a chip 10 according to thepresent invention integrating a request circuit 26 (HEVENT) and aninterface circuit 28 (INT). Interface circuit 28 is connected toinput/output terminals 16 and to microprocessor 12. Interface circuit 28is capable of setting up the signals received from input/outputterminals 16 so that they are exploitable by microprocessor 12 and ofsetting up the signals provided by microprocessor 12 before transmissionthereof to the outside of chip 10.

Interface circuit 28 provides over a connection 29 to request circuit 26signals that may correspond to a specific selection of some of thesignals of input/output terminals 16. Request circuit 26 also receivessignals directly from microprocessor 12. Such signals may for exampleindicate the execution of a specific instruction by microprocessor 12.Finally, request circuit 26 exchanges signals with monitoring circuit 18over a connection 30.

According to a variation of the present invention, interface circuit 28is not integrated on chip 10. Request circuit 26 is then directlyconnected to some of input/output terminals 16.

FIG. 3 shows a more detailed example of the signals exchanged overconnection 30 between request circuit 26 and monitoring circuit 18.According to the present example of embodiment, request circuit 26 iscapable of transmitting to monitoring circuit 18 a request signal Rqover a first one-bit line and a binary data signal DATA over N 1-bitlines forming a data bus. As an example, request circuit 26 maytransmit, on each of the lines forming the data bus, a signal present onone of input/output terminals 16. Data signal DATA may also result froma previous processing of signals present on input/output terminals 16performed by interface circuit 28. As an example, certain bits of signalDATA may correspond to a specific identifier, while the other bits ofmessage DATA may correspond to some of the signals received byinput/output terminals 16. Generally, the most significant bits ofsignal DATA are not transmitted when they are at zero, to reduce theamount of exchanged data.

Monitoring circuit 18 is capable of transmitting to analysis tool 24 amessage based on data signal DATA. The message may comprise anidentifier, indicating that the message is relative to the occurrence ofan event which is not linked to the execution of the program bymicroprocessor 12, and data signal DATA. Monitoring circuit 18 iscapable of transmitting to request circuit 26 an acknowledgement signalAck over a second bit line.

FIG. 4 shows a timing diagram of the signals exchanged between requestcircuit 26 and monitoring circuit 18 according to the example ofembodiment of FIG. 3. Request circuit 26 receives a clock signal CLKwhich is also provided to microprocessor 12 and to monitoring circuit18. When request circuit 26 receives signals from interface circuit 28indicating that an event has occurred for which monitoring circuit 18must transmit a message to analysis tool 24, request circuit 26 setsrequest signal Rq to the high state and maintains stable on the data busa specific value of data signal DATA associated with the event.Monitoring circuit 18 samples at clock frequency CLK request signal Rqand data signal DATA over the data bus. When a high state of requestsignal Rq is detected, monitoring circuit 18 is warned that it musttransmit a message in relation with the value of data signal DATApresent on the data bus. The storage of data signal DATA by monitoringcircuit 18 is performed at the same clock cycle as the detection of thehigh state of request signal Rq or at a subsequent clock cycle accordingto the workload of monitoring circuit 18. When the storage is performed,monitoring circuit 18 sets acknowledgement signal Ack to the high state.When, at the next clock cycle, request circuit 26 samplesacknowledgement circuit Ack in the high state, request circuit 26 setsrequest signal Rq to the low state and stops the maintaining of thespecific value of data signal DATA on the data bus. The request circuitcan then, at a subsequent clock cycle, set request signal Rq back to thehigh state if an event corresponding to a message to be transmitted bymonitoring circuit 18 occurs.

The use of request signals Rq and acknowledgement signals Ack enablesavoiding that the additional messages, associated with events which arenot linked to the execution of the program by microprocessor 12, to betransmitted by monitoring circuit 18, modify the normal operation of themonitoring circuit. Indeed, as long as monitoring circuit 18 is busytransmitting to analysis tool 24 determined messages based on dataprovided by microprocessor 12, especially according to standardIEEE-ISTO-5001, it transmits no acknowledgement signal Ack to requestcircuit 26 even if the request signal is high. Request circuit 26 thenmaintains the value of data signal DATA present on the data bus. Requestcircuit 26 may comprise a buffer memory area in which several data DATAto be transmitted to monitoring circuit 18 may be stored as long asmonitoring circuit 18 is not available. Given that, generally, requestsignal 26 only transmits new values of data signal DATA to monitoringcircuit 18 at a low frequency with respect to the frequency of messagetransmission by monitoring circuit 18, the size of such a buffer memoryarea may be relatively small.

FIG. 5 shows a more detailed example of embodiment of request circuit 26of FIGS. 2 and 3.

Request circuit 26, according to this example of embodiment, comprises astate machine 32 (STATE MACHINE) receiving input data In1, In2, In3,provided for example by interface circuit 28. As an example, threeinputs are shown. State machine 32 provides monitoring circuit 18 with astate signal STATE comprising for example four bits. To these four bitsare added the value of the three inputs In1, In2, In3 to form statesignal DATA transmitted to monitoring circuit 18. Data signal DATA isalso provided to a logic circuit 34 (TRIGGER) which is capable oftransmitting request signal Rq to monitoring circuit 18 and receiveacknowledgement signal Ack from monitoring circuit 18.

Logic circuit 34 provides a request signal Rq only for specific statesignals STATE among all the state signals that can be provided by statemachine 32. The value of data signal DATA is thus read by monitoringcircuit 18 only when state signal STATE is equal to one of the specificstate signal values.

Logic circuit 34 can be programmable to modify the specific values ofstate signals STATE of state machine 32 for which a request signal Rq istransmitted to monitoring circuit 18. As an example, registers ofconfiguration of logic circuit 34 may be programmed by analysis tool 24via monitoring circuit 18.

The present invention has many advantages:

First, it enables taking into account by the monitoring circuit of datafor the transmission to the analysis tool of messages characteristic ofevents which are not linked to the microprocessor operation.

Second, it enables modifying as little as possible the structure of themonitoring circuit provided by standard IEEE-ISTO-5001.

Third, the use of request and acknowledgement signals enables the testcircuit to process the data provided by the request circuit only when ithas transmitted all the messages defined based on data directlytransmitted by the microprocessor.

Fourth, in the case where the monitoring circuit has too high anactivity to transmit to the analysis tool messages based on the datasignals provided by the request circuit, the request circuit may storethe values of the data signals.

Of course, the present invention is likely to have various alterationsand modifications which will occur to those skilled in the art. Forexample, it is possible for the request circuit not to be integrated tothe chip comprising the microprocessor and the monitoring circuit. Themonitoring circuit is then connected by terminals dedicated to therequest circuit formed outside of the chip.

Such alterations, modifications, and improvements are intended to bepart of this disclosure, and are intended to be within the spirit andthe scope of the present invention. Accordingly, the foregoingdescription is by way of example only and is not intended to belimiting. The present invention is limited only as defined in thefollowing claims and the equivalents thereto.

1. A method comprising: transmitting first digital messages to ananalysis tool from a monitoring circuit integrated with amicroprocessor, the first digital messages being representative of firstspecific events which depend on execution of an instruction sequence bythe microprocessor; detecting, with a request circuit, at least onesecond specific event independent from the execution of the instructionsequence by the microprocessor; transmitting from the request circuit tothe monitoring circuit through dedicated accesses, when the at least onesecond specific event is detected, a request signal indicating a requestthat a message associated with said at least one second specific eventbe transmitted to said analysis tool and a characteristic data signalassociated with said at least one second specific event; storing thecharacteristic data signal in the monitoring circuit, and, if resourcemanagement conditions are fulfilled, transmitting an acknowledgementsignal from the monitoring circuit to the request circuit through adedicated access, wherein the acknowledgment signal notifies the requestcircuit that the request has been granted; transmitting at least onesecond digital message representative of the stored characteristic datasignal from said monitoring circuit to the analysis tool; and processingthe first digital messages and the at least one second digital messagevia the analysis tool to analyze operation of the microprocessor,including determining the instruction sequence executed by themicroprocessor, and the at least one second specific event to determineat least one relationship between the instruction sequence and the atleast one second specific event.
 2. The method of claim 1, in which theresource management conditions are fulfilled when the monitoring circuitis not transmitting the first digital messages representative of thefirst specific events.
 3. The method of claim 1, in which the at leastone second digital message representative of the stored characteristicdata signal comprises an identifier indicating that the at least onesecond digital message is relative to the at least one second specificevent independent from the execution of the instruction sequence by themicroprocessor, and the characteristic data signal.
 4. The method ofclaim 1, in which the characteristic data signal corresponds to thevalues on input terminals of the microprocessor.
 5. An apparatus,comprising: a microprocessor; a memory integrated with themicroprocessor; an analysis tool; a monitoring circuit for transmittingfirst digital messages to the analysis tool, the first digital messagesbeing representative of first specific events which depend on executionof an instruction sequence by the microprocessor; and a request circuitfor detecting at least one second specific event independent from theexecution of the instruction sequence by the microprocessor, the requestcircuit transmitting to the monitoring circuit through dedicatedaccesses, when the at least one second specific event is detected, arequest signal indicating a request that a message associated with saidat least one second specific event be transmitted to said analysis tooland a characteristic data signal associated with said at least onesecond specific event, wherein the monitoring circuit stores thecharacteristic data signal, if resource management conditions arefulfilled, transmits to the request circuit an acknowledgement signalwhen the characteristic data signal is stored, wherein theacknowledgement signal notifies the request circuit that the request hasbeen granted, and transmits to the analysis tool at least one seconddigital message representative of said stored characteristic datasignal, wherein the at least one second digital message comprises anidentifier indicating that the at least one second digital message isrelative to the at least one second specific event independent from theexecution of the instruction sequence by the microprocessor, and thecharacteristic data signal, and wherein the analysis tool processes thefirst digital messages and the at least one second digital message toanalyze operation of the microprocessor, including determining theinstruction sequence executed by the microprocessor, and the at leastone second specific event to determine at least one relationship betweenthe instruction sequence and the at least one second specific event. 6.The apparatus of claim 5, in which the request circuit, the monitoringcircuit, and the microprocessor are integrated in a same chip.
 7. Theapparatus of claim 5, in which the request circuit is connected to inputterminals of the microprocessor.